python-pip: add preinst and postrm scripts
authorAlexandru Ardelean <[email protected]>
Tue, 6 Jan 2015 12:10:17 +0000 (14:10 +0200)
committerAlexandru Ardelean <[email protected]>
Tue, 6 Jan 2015 12:29:38 +0000 (14:29 +0200)
Thanks to Xuefer Tinys <[email protected]> for reporting this.

Case is:
  opkg install python-setuptools - works fine
  opkg install python-pip - reports conflicts for
                            files easy_install.pth & site.py

So the solution is to add some preinst script that backs up those files
on 'opkg install python-pip' and moves them back on 'opkg remove python-pip'.

Signed-off-by: Alexandru Ardelean <[email protected]>
lang/python-pip/Makefile

index d7404ba2cd6f485f6493b58050fb2b2d79943fe0..9744b0176ca69fcb617127b622dfb836e9206b0c 100644 (file)
@@ -44,6 +44,26 @@ define PyPackage/python-pip/filespec
 +|/usr/lib/python$(PYTHON_VERSION)
 endef
 
+# Backup these files, so that they do not clash with python-setuptools
+# If we install python-pip python-setuptools, we want these to be replaced,
+# since python-pip replaces python-setuptools (when installed)
+define Package/python-pip/preinst
+#!/bin/sh
+cd "$${IPKG_INSTROOT}$(PYTHON_PKG_DIR)"
+mv -f easy-install.pth easy-install.pth.old
+mv -f site.py site.py.old
+exit 0
+endef
+
+# And put them back on remove
+define Package/python-pip/postrm
+#!/bin/sh
+cd "$${IPKG_INSTROOT}$(PYTHON_PKG_DIR)"
+mv -f easy-install.pth.old easy-install.pth
+mv -f site.py.old site.py
+exit 0
+endef
+
 define PyPackage/python-pip/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin